package com.boyunv.observer.example01;
/*
 *@description
 * 具体目标类
 *@author boyunv
 *@create 2023/8/11 7:41
 *@version 1.0
 */

import java.util.ArrayList;

public class ConcreteSubject implements Subject{
 //定义集合,存储所有的观察者对象
 private ArrayList<Observer> observers=new ArrayList<>();

 //注册方法,向观察者集合增加一个观察者
 @Override
 public void attach(Observer observer) {
   observers.add(observer);
 }

 //注销方法 ,用于从观察者集合中移除一个观察者
 @Override
 public void detach(Observer observer) {
   observers.remove(observer);
 }

 //通知方法
 @Override
 public void notifyObservers() {
  for (Observer observer : observers) {
     observer.update();
  }
 }
}
